﻿#define _CRT_SECURE_NO_WARNINGS 1

//两个int（32位）整数m和n的二进制表达中，有多少个位(bit)不同？ 
//输入例子:1999 2299    输出例子 : 7
//a=1999(0111 1100 1111)   b=2299(1000 1111 1011)
//有7位不同,--> c=a^b;(异或后不同的位得到1;结果就是在c中找二进制数中1的个数)
#include <stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int count = 0;
	int c = 0;
	c = a ^ b; //先^(异或)

	while (c)  //计算c中二进制数中1的个数 (方法参考:24_1_24_homework2文件)
	{
		c = c & (c - 1);
		count++;
	}
	printf("count=%d\n", count);
	return 0;
}